#pragma once

#include "stdafx.h"
//#include "MyCommon.h"
#include <vector>
#include "Wall3D.h"


typedef std::vector<Wall3D> WallVector;
typedef MyCommon::Real MyReal;
typedef MyCommon::Vector3 MyVec3;

class Wall3DStrip
{
	
protected:

	WallVector mWalls;
	MyReal mWallsHeight;

	MyVec3 mLastPointAdded;

public:
	Wall3DStrip(MyReal height=1.0, size_t numWalls=0)
		:mWallsHeight(height),mLastPointAdded(MyVec3::ZERO)
	{
		if(numWalls>0)
			mWalls.reserve(numWalls);
	}

	~Wall3DStrip(void)
	{
		mWalls.clear();
	}

	int NumWalls() const { return (int)mWalls.size();	}
	MyReal WallsHeight() const { return mWallsHeight;	}
	void SetWallsHeight(MyReal newHeight);
	const Wall3D& Wall(int w) const { return mWalls[w]; }
	const WallVector& Walls() const { return mWalls;	}
	void AddPoint(const MyVec3& p);

};
